package com.sinothk.fc.bill.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @Description: 招财猫账单表
 * @Author: Liangyt
 * @Date: 2022-09-12
 * @Version: V1.0
 */
@Data
public class BillReq implements Serializable {
    private static final long serialVersionUID = 1L;

    public static final int PAY_TYPE_INCOME = 0; // 账单：0收入1支出
    public static final int PAY_TYPE_OUTCOME = 1; // 账单：0收入1支出

    public static final String BIZ_TYPE_MATERIAL_IN = "material_in"; // 进物料
    public static final String BIZ_TYPE_MATERIAL_OUT = "material_out"; // 出物料

    public static final String BIZ_TYPE_GOODS_SALE = "goods_sale"; // 卖商品
    public static final String BIZ_TYPE_GOODS_BUY = "goods_buy"; // 买商品

    /**
     * 账单图标
     */
    @NotBlank(message = "账单图标[billLogo]不能为空")
    private String billLogo;
    /**
     * 账单名称
     */
    @NotBlank(message = "账单名称[billName]不能为空")
    private String billName;
    /**
     * 账单类别
     */
    @NotBlank(message = "账单类别[billType]不能为空")
    private String billType;

    /**
     * 实收值
     */
    @NotNull(message = "账单值[billValue]不能为空")
    private Long billValue;

    /**
     * 应收值
     */
    @NotNull(message = "账单原值[billFlagValue]不能为空")
    private Long billFlagValue;

    /**
     * 订单ID
     */
    @NotBlank(message = "订单ID不能为空")
    private String orderId;
    /**
     * 订单orderDesc
     */
    @ApiModelProperty(value = "订单orderDesc")
    private String orderDesc;
    /**
     * 业务ID
     */
    @NotBlank(message = "业务ID[bizId]不能为空")
    private String bizId;
    /**
     * 业务种类：物料进货，商品卖出，商品进货等
     */
    @NotBlank(message = "业务种类[bizType]不能为空")
    private String bizType;

    /**
     * 账单：0收入1支出
     */
    @NotNull(message = "账单类别[billState]不能为空")
    private Integer billState;

    /**
     * 来对象
     */
    @NotBlank(message = "交易方ID[billUserId]不能为空")
    private String billUserId;
    @NotBlank(message = "交易方名称[billUserName]不能为空")
    private String billUserName;
    private String billUserAvatar;
    @NotBlank(message = "交易方电话[billUserPhone]不能为空")
    private String billUserPhone;
}
